package com.hzw.saas.api.product.dto;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzw.saas.api.product.enums.ProductCloudType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 *  产品列表
 * </p>
 *
 * @author sonam
 * @since 2021/1/19 15:57
 */
@Data
@ApiModel("产品列表")
public class ProductDto implements Serializable {

    private static final long serialVersionUID = 4118136339354713383L;

    @ApiModelProperty("产品ID")
    private String prodId;

    @ApiModelProperty("产品名称")
    private String prodName;

    @ApiModelProperty("产品卖点")
    private String brief;

    @ApiModelProperty("产品主图")
    private String img;

    @ApiModelProperty("默认是1，表示正常状态, 0下架")
    private Integer status;

    @ApiModelProperty("产品云类型，1-软件云，2-工具云，3-算力云，4-数据云")
    private Integer cloudType;

    @ApiModelProperty("产品云类型文本")
    private String cloudTypeText;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("产品上架时间")
    private Date putAwayTime;

    @ApiModelProperty("是否可以本地下载使用")
    private Boolean isLocal;

    @ApiModelProperty("是否可以云上使用")
    private Boolean isCloud;

    @ApiModelProperty("是否需要License (试用申请)")
    private Boolean licensed;

    @ApiModelProperty("图标名称")
    private String iconName;

    @ApiModelProperty("应用教程")
    private String tutorial;

    @ApiModelProperty("使用提示")
    private String tooltips;

    public void onReady() {
        this.setCloudTypeText(ProductCloudType.text(this.getCloudType()));
    }

}
